草庐IT

java - 读取 MIDI 文件

全部标签

logging - 将结果堆栈跟踪默认写入文件

我在我的程序中使用从模式定义的记录器,如下所示var(logFile*os.FileInfo*log.Logger)funcinit(){varerrerrorlogFile,err=os.OpenFile("/my/file/with.log",os.O_CREATE|os.O_APPEND|os.O_WRONLY,0666)iferr!=nil{fmt.Printf("Cannotopenlogfileerror:%s.Programwasterminated.",err)os.Exit(1)}Info=log.New(logFile,"INFO:",log.Ldate|log.L

logging - golang 的日志框架,具有适合生产的旋转日志文件和过滤日志级别

我在github.com找到了一些golang的日志框架。Logrus是很多开发者推荐的。但是它没有过滤日志级别。任何人都可以向我推荐一个具有上述功能并且应该适合生产的日志框架吗? 最佳答案 根据Logrus文档,您可以“过滤”日志级别以分派(dispatch)它或不记录它。请参阅Logrus的github存储库中README.md的级别日志记录和Hooks部分。如果你想要另一个,seelog是我在某些项目中使用的。高度可配置,它应该满足您的需求。 关于logging-golang的日志

mongodb - 在出现错误的情况下重新创建 mgo session (读取 tcp 127.0.0.1 :46954->127. 0.0.1:27017: i/o 超时)

我想知道如何使用mgo在Go中管理MongoDBsession,尤其是关于如何正确确保session已关闭以及如何对写入失败使用react。我已阅读以下内容:BestpracticetomaintainamgosessionShouldIcopysessionforeachoperationinmgo?仍然不能将其应用于我的情况。我有两个goroutine,它们将事件一个接一个地存储到MongoDB中,共享同一个*mgo.Session,两者看起来基本上如下所示:funcstoreEvents(session*mgo.Session){session_copy:=session.Cop

go - 使用viper的配置文件在GO中给出空值

我是Go的新手,使用viper进行配置管理配置文件看起来像(config.yaml)SD_ORIGIN:weburlAPI_TRACKING_ID:77xxx1API_TOKEN:sdsaxxxdfds123并使用go代码读取值,但在我读取代码片段时得到空值:-viper.SetConfigName("config")viper.AddConfigPath(".")err:=viper.ReadInConfig()iferr!=nil{fmt.Println("Confignotfound...")}}varapiTrackingID=viper.GetString("API_TRAC

linux - 启动由 Go 编译器构建的可执行文件时出错

我是Go的新手,我的MAC上有一个用Go编写的docker插件。我使用以下命令构建它:envGOOS=linuxGOARCH=amd64gobuild输出是二进制文件。当我将它复制到CoreOS并尝试执行时:./my-binary-file结果是:"2016/12/0708:05:00ErrorGrouprootnotfound"执行文件的操作系统是CoreOS。我检查了MAC和CoreOS,它们都是x86_64。为什么我会收到这个错误?编辑:问题出在ServerUnixGroup中。它应该是“docker”而不是“root”。 最佳答案

Go - 下载前缀下的 S3 文件

我正在尝试下载目录下的文件,而不是直接下载存储桶中的文件。file,err:=os.Create("s3file.csv")downloader:=s3manager.NewDownloader(session.New(&aws.Config{Region:aws.String("us-east-1")}))numBytes,err:=downloader.Download(file,&s3.GetObjectInput{Bucket:aws.String(bucket),Key:aws.String(key),})桶名称-“myBucket”文件夹名称-“myFolder”文件名-“

html - 无法通过 nginx 使用我的 goapp 提供静态文件

我正在Ubuntu服务器上制作我的第一个go应用程序。当我使用可执行文件或简单地运行main.go来运行我的服务器时,我得到了要呈现的初始html页面,但没有css、图像或js。这些路线还将我带到404页面。唯一似乎通过的是index.html(它被命名为index.gohtml作为go的模板)当我在本地主机和服务器上的ip:port配置上运行它时,我的所有Assets都被加载,但是当我使用nginx时,Assets根本没有加载。由于这些因素,我假设nginx是我遇到问题的地方。以下是我目前所拥有的。这是我第一次使用nginx,所以我不知道正确配置它需要什么。server{listen

go - golang中如何生成多个uuid和md5文件

您好,我已经在golang中生成了Md5和uuid,但现在我想使用命令行参数为多个文件生成它,所以我到底需要做什么。这就是我生成md5和uuid的方式:packagemainimport("crypto/rand""crypto/md5""fmt""io""os""log""text/template")typeDatastruct{UuidstringMd5string}funcmain(){uuid,err:=newUUID()iferr!=nil{fmt.Printf("error:%v\n",err)}fmt.Printf("UUID:%s\n",uuid)md5:=Getmd

go - 如何针对本地文件更改更新 go doc?

当我调整我的Go文档时,godoc显示的是旧文档。我如何让godoc根据本地文件更改更新其缓存? 最佳答案 奇怪,godoc提供了一个缩略版的文档:包含包文档,并列出了public成员,但是godoc命令不显示文档对于公共(public)成员,即使使用-u选项。相反,必须使用godoc工具。 关于go-如何针对本地文件更改更新godoc?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questio

go - 单个 go 项目使用的 go 包的正确文件夹结构

我目前正在开始使用Go,并且已经深入研究了有关包命名和工作区文件夹结构的注意事项。不过,我不太确定如何根据Go范式正确组织我的代码。这是我当前的结构示例,它位于$GOPATH/src中:github.com/myusername/project|--main.go+--internal+----config|------config.go所以我有一个名为project的项目,它使用config包,而该包又以一种只应由project使用的方式专门化。因此,我不希望它位于github.com/myusername/config下,对吗?现在的问题是,使用内部包结构是否“好”,或者我应该将我